package com.ssy.lingxi.member.merchant.model.vo.validate.request;

import com.ssy.lingxi.common.model.vo.PageVO;
import com.ssy.lingxi.member.merchant.handler.annotation.DateStringFormatAnnotation;

import java.io.Serializable;

/**
 * 会员能力 - 待分配会员 - 会员分页查询接口参数VO
 * @author whm
 * @version 2.0.0
 * @date 2022-03-29
 */
public class MemberAbilityAssignedMemberQueryVO extends PageVO implements Serializable {
    private static final long serialVersionUID = -6762251828439333147L;

    /**
     * 会员名称
     */
    private String name;

    /**
     * 申请开始时间， 格式为yyyy-MM-dd
     */
    @DateStringFormatAnnotation
    private String startDate;

    /**
     * 申请结束时间，格式为yyyy-MM-dd
     */
    @DateStringFormatAnnotation
    private String endDate;

    /**
     * 内部状态
     */
    private Integer innerStatus;

    /**
     * 外部状态
     */
    private Integer outerStatus;

    /**
     * 会员状态， Null或0-所有； 1-正常 2-冻结
     */
    private Integer status;

    /**
     * 会员类型， 0或Null-所有 1-企业会员 2-企业个人会员 3-渠道企业会员 4-渠道个人会员
     */
    private Long memberTypeId;

    /**
     * 角色， 0或Null-所有， 其他枚举从接口下拉菜单字段中获取
     */
    private Long roleId;

    /**
     * 等级， 0或Null-所有，其他枚举从接口下拉菜单字段中获取
     */
    private Integer level;

    /**
     * 注册来源， 0或Null-所有， 其他枚举从下拉菜单接口中获得
     */
    private Integer source;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getStartDate() {
        return startDate;
    }

    public void setStartDate(String startDate) {
        this.startDate = startDate;
    }

    public String getEndDate() {
        return endDate;
    }

    public void setEndDate(String endDate) {
        this.endDate = endDate;
    }

    public Integer getInnerStatus() {
        return innerStatus;
    }

    public void setInnerStatus(Integer innerStatus) {
        this.innerStatus = innerStatus;
    }

    public Integer getOuterStatus() {
        return outerStatus;
    }

    public void setOuterStatus(Integer outerStatus) {
        this.outerStatus = outerStatus;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Long getMemberTypeId() {
        return memberTypeId;
    }

    public void setMemberTypeId(Long memberTypeId) {
        this.memberTypeId = memberTypeId;
    }

    public Long getRoleId() {
        return roleId;
    }

    public void setRoleId(Long roleId) {
        this.roleId = roleId;
    }

    public Integer getLevel() {
        return level;
    }

    public void setLevel(Integer level) {
        this.level = level;
    }

    public Integer getSource() {
        return source;
    }

    public void setSource(Integer source) {
        this.source = source;
    }
}
